28500 IF MS <1 OR MS >9 THEN VTAB 21: HTAB 11: CALL -958: PRINT "?": GOTO 28340
28510 CALL -958: IF NR THEN 28540
28520 IF MS <3 OR MS >7 THEN 28540
28530 PRINT : PRINT " THERE ARE NO RECORDS ON FILE":MS = 0
28535 FOR Z = 1 TO 1500: NEXT Z: GOTO 28500
28540 ON MS GOTO 3050,7010,8010,12010,15010,5400,26010,29010,31005
29000 REM <<< PRINTER FLAG >>>
29010 IF PF THEN PF = 0:LN = 0: GOTO 29030
29020 PF = 1
29030 IF MS = 0 THEN HOME : RETURN
29035 VTAB 9: HTAB 16: CALL -868: IF NOT PF GOTO 29040
29038 FLASH : PRINT "ON": NORMAL : GOTO 29050
29040 PRINT "OFF"
29050 VTAB 18: HTAB 17: CALL -868: IF PF THEN PRINT "OFF": GOTO 29070
29060 PRINT "ON"
29070 MS = 0: GOTO 28500
31000 REM <<< QUIT ROUTINE >>>
31005 IF NR = 0 AND FD$ < >"" GOTO 38010: REM PREVENT FILES WITH ZERO RECORDS
31010 TEXT : HOME : VTAB 10
31020 HTAB 3: PRINT "A BACKUP COPY IS RECOMMENDED AFTER EACH CHANGE SESSION!"
31030 VTAB 15: HTAB 3
31040 PRINT "TO ACTIVATE THE PRODOS 'FILER' PROGRAM WHICH MUST HAVE BEEN TRANSFERRED TO THIS DISK, ANSWER 'Y' TO THE REQUEST FOR BACKUP.": PRINT : VTAB 20
31050 L$ = "BACKUP": GOSUB 2510
31060 IF NOT YES THEN TEXT : HOME : END
31070 ONERR GOTO 31110
31080 PRINT D$"VERIFY";PX$;"FILER"
31090 PRINT D$"-";PX$;"FILER/"
31100 END
31110 TEXT : HOME : VTAB 10
31120 PRINT "THE PRODOS 'FILER' WAS NOT FOUND ON PATH ";PX$;"FILER"
31130 PRINT : PRINT "IF A BACKUP COPY IS DESIRED, TAKE CORRECTIVE ACTION AND INITIATE THE COPY PROCESS FROM 'FILER'"
31160 POKE 216,0
31170 END
32000 REM <<< SETUP POKES >>>
32010 FOR I = 1013 TO 1022: READ S: POKE I,S: NEXT I
32020 I = 0
32030 RETURN
32040 DATA 104,168,104,166,223,154,72,152,72,96
33040 REM
33075 GOSUB 60110: REM SETUP DATE AFTER CLEAR
34000 FOR I = 1 TO 71: READ I%: POKE 768 +I -1,I%: NEXT I: RESTORE : RETURN
34010 DATA 32,190,222,32,227,223,36,17,208,5,162,0,76,15,3,133,133,132,134,165
34020 DATA 184,164,185,133,135,132,136,32,44,213,173,0,2,201,3,208,3,76,99,216
34030 DATA 169,0,133,13,133,14,169,0,160,2,32,237,227,32,61,231,32,123,218,165
34040 DATA 135,164,136,133,184,132,185,32,183,0,96,0,0,0,0,0,0,0,0,0
35000 REM << SET UP PATH FOR DATA >>
35010 TEXT : HOME : VTAB 5
35020 HTAB 3: INVERSE : PRINT "PATH SETUP FOR FILECABINET DATA BASE": NORMAL : PRINT
35030 PRINT "THE CURRENT PATH FOR ACCESSING THE FILE-CABINET DATA IS ";PB$: PRINT
35040 PRINT "IF A DIFFERENT PATH IS DESIRED, ENTER THE PRODOS STRUCTURED PATH BELOW."
35050 PRINT "IF THE CURRENT PATH IS ACCEPTABLE, PRESS 'RETURN' IN RESPONSE TO THE PATH REQUEST.": PRINT
35060 PRINT "ENTER ONLY THE NAME OF THE NEW PATH -- THE REQUIRED SLASH AT THE FIRST AND THE END WILL BE PROVIDED AUTOMATICALLY.": PRINT
35100 VTAB 21: PRINT "ENTER THE NEW PATH OR PRESS 'RETURN' ";: CALL 768,PT$
35110 IF PT$ = "" THEN PB$ = PX$: GOTO 3090
35115 IF ASC(PT$) <65 GOTO 35010
35120 X$ = PT$
35130 GOSUB 37010
35140 IF X$ = "" THEN PT$ = "": GOTO 35010
35150 PB$ = "/" +PT$ +"/"
35151 ONERR GOTO 35155
35152 PRINT D$;"VERIFY";PB$
35153 POKE 216,0: GOTO 35160
35155 VTAB 21: CALL -958: PRINT "->-> THE NEW PATH COULD NOT BE FOUND.": PRINT
35156 POKE 216,0:PB$ = PX$
35157 PRINT "PRESS ANY KEY TO CONTINUE ";: GET K$: GOTO 35010
35160 GOTO 3090: REM RETURN TO MAIN STREAM
36000 END
37000 REM << TEST FOR VALID PRODOS NAME FORMAT >>
37010 FOR T = 1 TO LEN(X$)
37020 IF ASC( MID$ (X$,T,T)) >64 AND ASC( MID$ (X$,T,T)) <91 GOTO 37090
37030 IF ASC( MID$ (X$,T,T)) >47 AND ASC( MID$ (X$,T,T)) <58 GOTO 37090
37040 IF ASC( MID$ (X$,T,T)) = 46 GOTO 37090
37050 VTAB 20: CALL -958: PRINT "FILE NAME MUST CONFORM TO PRODOS RULES"
37060 PRINT " ONLY LETTERS, NUMERALS AND PERIODS ARE ALLOWED"
37070 T = LEN(X$):X$ = ""
37080 PRINT " PRESS ANY KEY TO CONTINUE ";: GET K$
37090 NEXT T
37100 RETURN
38000 REM <<< ZERO RECORDS >>>
38010 HOME : VTAB 10
38020 PRINT "---- WARNING ----": PRINT
38030 PRINT "CREATION OF FILES WITH ZERO RECORDS RESULTS IN ERROR CONDITIONS LATER WHEN RE-STARTING OR DELETING."
38040 PRINT
38050 PRINT "CREATE AT LEAST ONE RECORD WITH DATA TO PREVENT FUTURE PROBLEMS": PRINT
38060 PRINT "PRESS ANY KEY TO RETURN TO MAIN MENU"